package com.dwfyc.hibernate;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Tarea entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "tarea", catalog = "firmes")
public class Tarea implements java.io.Serializable {

	// Fields

	private Integer idtarea;
	private String nombre;
	private String enlace;
	private String imagen;
	private Set<Subtarea> subtareas = new HashSet<Subtarea>(0);

	// Constructors

	/** default constructor */
	public Tarea() {
	}

	/** minimal constructor */
	public Tarea(Integer idtarea, String nombre, String enlace, String imagen) {
		this.idtarea = idtarea;
		this.nombre = nombre;
		this.enlace = enlace;
		this.imagen = imagen;
	}

	/** full constructor */
	public Tarea(Integer idtarea, String nombre, String enlace, String imagen,
			Set<Subtarea> subtareas) {
		this.idtarea = idtarea;
		this.nombre = nombre;
		this.enlace = enlace;
		this.imagen = imagen;
		this.subtareas = subtareas;
	}

	// Property accessors
	@Id
	@Column(name = "idtarea", unique = true, nullable = false)
	public Integer getIdtarea() {
		return this.idtarea;
	}

	public void setIdtarea(Integer idtarea) {
		this.idtarea = idtarea;
	}

	@Column(name = "nombre", nullable = false, length = 45)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "enlace", nullable = false, length = 100)
	public String getEnlace() {
		return this.enlace;
	}

	public void setEnlace(String enlace) {
		this.enlace = enlace;
	}

	@Column(name = "imagen", nullable = false, length = 200)
	public String getImagen() {
		return this.imagen;
	}

	public void setImagen(String imagen) {
		this.imagen = imagen;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tarea")
	public Set<Subtarea> getSubtareas() {
		return this.subtareas;
	}

	public void setSubtareas(Set<Subtarea> subtareas) {
		this.subtareas = subtareas;
	}

}